Embodiments of the invention relate generally to virtual machine (VM) migration and, more specifically, to migrating a local cache state with a VM migration.
Modern processor architectures have enabled virtualization techniques that allow multiple operating systems and VMs to run on a single physical machine. These techniques often use a hypervisor layer that runs directly on the physical hardware and mediates accesses to physical hardware by providing a virtual hardware layer to the operating systems running in each virtual machine. The hypervisor can operate on the physical machine in conjunction with a “native VM.” Alternatively, the hypervisor can operate within an operating system running on the physical machine, in conjunction with a ‘hosted VM’ operating at a higher software level.
A VM may be migrated from one physical machine (e.g., from a “source host processor”) to another physical machine (e.g., to a “target host processor”) for a variety of reasons, such as resource constraints on the source host processor or maintenance of the source host processor. In environments where server-side caching is used, a VM migration often results in an initial degradation of performance due to the local cache on the target host processor not having any entries associated with the migrated VM when the VM is restarted on the target host processor.